前言

GitHub

和HTTP请求流程差不多,区别就是http请求每次更新数据都要向对应的端口发送一次请求,之后返回数据之后关闭连接,而长连接就是客户端和服务器一直连着,当有数据更新的时候,服务器会直接发给客户端,不需要客户端主动请求。

在这过程中,为了保证服务端和客户端一直是连接状态,客户端会定时不间断的发送心跳数据到服务器,表明还连接着,不然长时间没有数据更新,会断开连接,这样一直有心跳数据的时候,就会保证了连接没有中断,至于心跳数据的内容,就是前端后端共同商量的,和请求的数据是单独的。就相当于单独出来一个请求,数据是商量之后的心跳数据。

目的:
想要完成的功能:

在一个APP中插入一个TCP Socket,然后连接到我的Server,可以远程接受我的指令进行一些操作。

三、代码实现

流程

  • 发送连接请求
  • 请求成功开始定时发送心跳数据
  • 向服务器发送数据
  • 服务器向客户端发送数据,客户端改变
  • 断网重连
  • 用户关闭长连接

1、发送链接请求

创建一个tcp长连接,并且可以设定tcp内容,这个是内容是自己用来区分不同的socket请求的,然后通过connectToHost可以发送连接请求


iOS逆向
44 声望15 粉丝